Syntax: HandBrakeCLI [options] -i <device> -o <file>

### General Handbrake Options------------------------------------------------

    -h, --help              // Membuka Help
    -u, --update            // Check for updates and exit
    -v, --verbose <#>       // Be verbose (optional argument: logging level)
    -Z. --preset <string>   // Use a built-in preset. Capitalization matters, and
                            // if the preset name has spaces, surround it with
                            // double quotation marks
    -z, --preset-list       // See a list of available built-in presets
        --no-dvdnav         // Do not use dvdnav for reading DVDs
    --no-opencl             // Disable use of OpenCL

### Source Options-----------------------------------------------------------

    -i, --input <string>    // Set input device
    -t, --title <number>    // Select a title to encode (0 to scan all titles only,
                            // default: 1)
        --min-duration      // Set the minimum title duration (in seconds). Shorter
                            // titles will not be scanned (default: 10).
        --scan              // Scan selected title only.
        --main-feature      // Detect and select the main feature title.
    -c, --chapters <string> // Select chapters (e.g. "1-3" for chapters
                            // 1 to 3, or "3" for chapter 3 only,
                            // default: all chapters)
        --angle <number>    // Select the video angle (DVD or Blu-ray only)
        --previews <#:B>    // Select how many preview images are generated,
                            // and whether or not they're stored to disk (0 or 1).
                            // (default: 10:0)
    --start-at-preview <#>  // Start encoding at a given preview.
    --start-at    <unit:#>  // Start encoding at a given frame, duration (in seconds),
                            // or pts (on a 90kHz clock)
    --stop-at     <unit:#>  // Stop encoding at a given frame, duration (in seconds),
                            // or pts (on a 90kHz clock)
### Destination Options------------------------------------------------------

    -o, --output <string>   // Set output file name
    -f, --format <string>   // Set output container format (av_mp4/av_mkv)
                            // (default: autodetected from file name)
    -m, --markers           // Add chapter markers
    -4, --large-file        // Create 64-bit mp4 files that can hold more than 4 GB
                            // of data. Note: breaks pre-iOS iPod compatibility.
    -O, --optimize          // Optimize mp4 files for HTTP streaming ("fast start")
    -I, --ipod-atom         // Mark mp4 files so 5.5G iPods will accept them
    -P, --use-opencl        // Use OpenCL where applicable
    -U, --use-hwd           // Use DXVA2 hardware decoding

### Video Options------------------------------------------------------------

    -e, --encoder <string>  // Set video library encoder
                            // Options: x264/x265/mpeg4/mpeg2/VP8/theora
                            // (default: mpeg4)
        --encoder-preset    // Adjust video encoding settings for a particular
          <string>          // speed/efficiency tradeoff (encoder-specific)
    --encoder-preset-list   // List supported --encoder-preset values for the
          <string>          // specified video encoder
        --encoder-tune      // Adjust video encoding settings for a particular
          <string>          // type of souce or situation (encoder-specific)
    --encoder-tune-list     // List supported --encoder-tune values for the
          <string>          // specified video encoder
    -x, --encopts <string>  // Specify advanced encoding options in the same
                            // style as mencoder (all encoders except theora):
                            // option1=value1:option2=value2
        --encoder-profile   // Ensures compliance with the requested codec
          <string>          // profile (encoder-specific)
    --encoder-profile-list  // List supported --encoder-profile values for the
          <string>          // specified video encoder
        --encoder-level     // Ensures compliance with the requested codec
          <string>          // level (encoder-specific)
    --encoder-level-list    // List supported --encoder-level values for the
          <string>          // specified video encoder
    -q, --quality <number>  // Set video quality
    -b, --vb <kb/s>         // Set video bitrate (default: 1000)
    -2, --two-pass          // Use two-pass mode
    -T, --turbo             // When using 2-pass use "turbo" options on the
                            // 1st pass to improve speed (only works with x264)
    -r, --rate              // Set video framerate (5/10/12/15/23.976/24/25/29.97/30/50/59.94/60)
                            // Be aware that not specifying a framerate lets
                            // HandBrake preserve a source's time stamps,
                            // potentially creating variable framerate video
    --vfr, --cfr, --pfr     // Select variable, constant or peak-limited
                            // frame rate control. VFR preserves the source
                            // timing. CFR makes the output constant rate at
                            // the rate given by the -r flag (or the source's
                            // average rate if no -r is given). PFR doesn't
                            // allow the rate to go over the rate specified
                            // with the -r flag but won't change the source
                            // timing if it's below that rate.
                            // If none of these flags are given, the default
                            // is --cfr when -r is given and --vfr otherwise

### Audio Options-----------------------------------------------------------

    -a, --audio <string>    // Select audio track(s), separated by commas
                            // ("none" for no audio, "1,2,3" for multiple
                            //  tracks, default: first one).
                            // Multiple output tracks can be used for one input.
    -E, --aencoder <string> // Audio encoder(s):
                            //    av_aac
                            //    fdk_aac
                            //    fdk_haac
                            //    copy:aac
                            //    ac3
                            //    copy:ac3
                            //    copy:dts
                            //    copy:dtshd
                            //    mp3
                            //    copy:mp3
                            //    vorbis
                            //    flac16
                            //    flac24
                            //    copy
                            // copy:* will passthrough the corresponding
                            // audio unmodified to the muxer if it is a
                            // supported passthrough audio type.
                            // Separated by commas for more than one audio track.
                            // Defaults:
                            //    av_mp4   av_aac
                            //    av_mkv   mp3
        --audio-copy-mask   // Set audio codecs that are permitted when the
                <string>    // "copy" audio encoder option is specified
                            // (aac/ac3/dts/dtshd/mp3, default: all).
                            // Separated by commas for multiple allowed options.
        --audio-fallback    // Set audio codec to use when it is not possible
                <string>    // to copy an audio track without re-encoding.
    -B, --ab <kb/s>         // Set audio bitrate(s) (default: depends on the
                            // selected codec, mixdown and samplerate)
                            // Separated by commas for more than one audio track.
    -Q, --aq <quality>      // Set audio quality metric (default: depends on the
                            // selected codec)
                            // Separated by commas for more than one audio track.
    -C, --ac <compression>  // Set audio compression metric (default: depends on the
                            // selected codec)
                            // Separated by commas for more than one audio track.
    -6, --mixdown <string>  // Format(s) for audio downmixing/upmixing:
                            //    mono
                            //    left_only
                            //    right_only
                            //    stereo
                            //    dpl1
                            //    dpl2
                            //    5point1
                            //    6point1
                            //    7point1
                            //    5_2_lfe
                            // Separated by commas for more than one audio track.
                            // Defaults:
                            //    av_aac           up to dpl2
                            //    fdk_aac          up to dpl2
                            //    fdk_haac         up to dpl2
                            //    ac3              up to 5point1
                            //    mp3              up to dpl2
                            //    vorbis           up to dpl2
                            //    flac16           up to 7point1
                            //    flac24           up to 7point1
        --normalize-mix     // Normalize audio mix levels to prevent clipping.
               <string>     // Separated by commas for more than one audio track.
                            // 0 = Disable Normalization (default)
                            // 1 = Enable Normalization
    -R, --arate             // Set audio samplerate(s) (8/11.025/12/16/22.05/24/32/44.1/48 kHz)
                            // Separated by commas for more than one audio track.
    -D, --drc <float>       // Apply extra dynamic range compression to the audio,
                            // making soft sounds louder. Range is 1.0 to 4.0
                            // (too loud), with 1.5 - 2.5 being a useful range.
                            // Separated by commas for more than one audio track.
        --gain <float>      // Amplify or attenuate audio before encoding.  Does
                            // NOT work with audio passthru (copy). Values are in
                            // dB.  Negative values attenuate, positive values
                            // amplify. A 1 dB difference is barely audible.
        --adither <string>  // Apply dithering to the audio before encoding.
                            // Separated by commas for more than one audio track.
                            // Only supported by some encoders (fdk_aac/fdk_haac/flac16).
                            // Options:
                            //    auto (default)
                            //    none
                            //    rectangular
                            //    triangular
                            //    triangular_hp
                            //    triangular_ns
    -A, --aname <string>    // Audio track name(s),
                            // Separated by commas for more than one audio track.

### Picture Settings---------------------------------------------------------

    -w, --width  <number>   // Set picture width
    -l, --height <number>   // Set picture height
        --crop  <T:B:L:R>   // Set cropping values (default: autocrop)
        --loose-crop  <#>   // Always crop to a multiple of the modulus
                            // Specifies the maximum number of extra pixels
                            // which may be cropped (default: 15)
    -Y, --maxHeight   <#>   // Set maximum height
    -X, --maxWidth    <#>   // Set maximum width
    --strict-anamorphic     // Store pixel aspect ratio in video stream
    --loose-anamorphic      // Store pixel aspect ratio with specified width
    --custom-anamorphic     // Store pixel aspect ratio in video stream and
                            // directly control all parameters.
    --display-width         // Set the width to scale the actual pixels to
      <number>              // at playback, for custom anamorphic.
    --keep-display-aspect   // Preserve the source's display aspect ratio
                            // when using custom anamorphic
    --pixel-aspect          // Set a custom pixel aspect for custom anamorphic
      <PARX:PARY>
                            // (--display-width and --pixel-aspect are mutually
                            //  exclusive and the former will override the latter)
    --itu-par               // Use wider, ITU pixel aspect values for loose and
                            // custom anamorphic, useful with underscanned sources
    --modulus               // Set the number you want the scaled pixel dimensions
      <number>              // to divide cleanly by. Does not affect strict
                            // anamorphic mode, which is always mod 2 (default: 16)
    -M, --color-matrix      // Set the color space signaled by the output
                            // Values: 709, pal, ntsc, 601 (same as ntsc)
                            // (default: detected from source)

### Filters---------------------------------------------------------

    -d, --deinterlace       // Unconditionally deinterlaces all frames
          <fast/slow/slower/bob> or omitted // (default settings)
           or
          <YM:FD>           // (default 0:-1)
    -5, --decomb            // Selectively deinterlaces when it detects combing
          <fast/bob> or omitted // (default settings)
           or
          <MO:ME:MT:ST:BT:BX:BY:MG:VA:LA:DI:ER:NO:MD:PP:FD>
          (default: 7:2:6:9:80:16:16:10:20:20:4:2:50:24:1:-1)
    -9, --detelecine        // Detelecine (ivtc) video with pullup filter
                            // Note: this filter drops duplicate frames to
                            // restore the pre-telecine framerate, unless you
                            // specify a constant framerate (--rate 29.97)
          <L:R:T:B:SB:MP:FD> // (default 1:1:4:4:0:0:-1)
    -8, --denoise           // Denoise video with hqdn3d filter
          <ultralight/light/medium/strong> or omitted // (default settings)
           or
          <SL:SCb:SCr:TL:TCb:TCr>
          (default: 4:3:3:6:4.5:4.5)
    --nlmeans               // Denoise video with nlmeans filter
          <ultralight/light/medium/strong> or omitted
           or
          <SY:OTY:PSY:RY:FY:PY:Sb:OTb:PSb:Rb:Fb:Pb:Sr:OTr:PSr:Rr:Fr:Pr>
          (default 8:1:7:3:2:0)
    --nlmeans-tune          // Tune nlmeans filter to content type
                            // Note: only works in conjunction with presets
                            // ultralight/light/medium/strong.
          <none/film/grain/highmotion/animation> or omitted // (default none)
    -7, --deblock           // Deblock video with pp7 filter
          <QP:M>            // (default 5:2)
        --rotate     <mode> // Rotate image or flip its axes.
                            // Modes: (can be combined)
                            //    1 vertical flip
                            //    2 horizontal flip
                            //    4 rotate clockwise 90 degrees
                            // Default: 3 (vertical and horizontal flip)
    -g, --grayscale         // Grayscale encoding

### Subtitle Options------------------------------------------------------------

    -s, --subtitle <string> // Select subtitle track(s), separated by commas
                            // More than one output track can be used for one
                            // input.
                            // Example: "1,2,3" for multiple tracks.
                            // A special track name "scan" adds an extra 1st pass.
                            // This extra pass scans subtitles matching the
                            // language of the first audio or the language 
                            // selected by --native-language.
                            // The one that's only used 10 percent of the time
                            // or less is selected. This should locate subtitles
                            // for short foreign language segments. Best used in
                            // conjunction with --subtitle-forced.
    -F, --subtitle-forced   // Only display subtitles from the selected stream if
          <string>          // the subtitle has the forced flag set. The values in
                            // "string" are indexes into the subtitle list
                            // specified with '--subtitle'.
                            // Separated by commas for more than one subtitle track.
                            // Example: "1,2,3" for multiple tracks.
                            // If "string" is omitted, the first track is forced.
        --subtitle-burned   // "Burn" the selected subtitle into the video track
          <number>          // If "number" is omitted, the first track is burned.
                            // "number" is an index into the subtitle list
                            // specified with '--subtitle'.
        --subtitle-default  // Flag the selected subtitle as the default subtitle
          <number>          // to be displayed upon playback.  Setting no default
                            // means no subtitle will be automatically displayed
                            // If "number" is omitted, the first track is default.
                            // "number" is an index into the subtitle list
                            // specified with '--subtitle'.
    -N, --native-language   // Specifiy your language preference. When the first
          <string>          // audio track does not match your native language then
                            // select the first subtitle that does. When used in
                            // conjunction with --native-dub the audio track is
                            // changed in preference to subtitles. Provide the
                            // language's iso639-2 code (fre, eng, spa, dut, et cetera)
        --native-dub        // Used in conjunction with --native-language
                            // requests that if no audio tracks are selected the
                            // default selected audio track will be the first one
                            // that matches the --native-language. If there are no
                            // matching audio tracks then the first matching
                            // subtitle track is used instead.
        --srt-file <string> // SubRip SRT filename(s), separated by commas.
        --srt-codeset       // Character codeset(s) that the SRT file(s) are
          <string>          // encoded in, separated by commas.
                            // Use 'iconv -l' for a list of valid
                            // codesets. If not specified, 'latin1' is assumed
        --srt-offset        // Offset (in milliseconds) to apply to the SRT file(s),
          <string>          // separated by commas. If not specified, zero is assumed.
                            // Offsets may be negative.
        --srt-lang <string> // Language as an iso639-2 code fra, eng, spa et cetera)
                            // for the SRT file(s), separated by commas. If not specified,
                            // then 'und' is used.
        --srt-default       // Flag the selected srt as the default subtitle
          <number>          // to be displayed upon playback.  Setting no default
                            // means no subtitle will be automatically displayed
                            // If "number" is omitted, the first srt is default.
                            // "number" is an 1 based index into the srt-file list
        --srt-burn          // "Burn" the selected srt subtitle into the video track
          <number>          // If "number" is omitted, the first srt is burned.
                            // "number" is an 1 based index into the srt-file list